package com.ak.common.entity.system;

import com.ak.common.entity.BaseEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * 租户信息表 sys_tenant
 *
 * @author Vean
 */
@Data
@TableName("sys_tenant")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class Tenant extends BaseEntity {

    /**
	 *
	 */
	private static final long serialVersionUID = 1L;

    @TableId(value = "tenant_id", type = IdType.UUID)
    private String tenantId;

	/**
     * 租户编码 编码规则：由8位大写母组成 CodeUtils.tenantCodeGenerate()
     */
    @NotBlank(message = "租户编码不能为空")
    private String tenantCode;

    /**
     * 租户名称
     */
    @NotBlank(message = "租户名称不能为空")
    private String tenantName;

    /**
     * 联系人
     */
    @NotBlank(message = "联系人不能为空")
    private String contactMan;

    /**
     * 手机号码
     */
    @NotBlank(message = "手机号码不能为空")
    @Pattern(regexp = "^(((13[0-9])|(14[579])|(15([0-3]|[5-9]))|(16[6])|(17[0135678])|(18[0-9])|(19[89]))\\d{8})$", message = "手机号格式错误")
    private String contactNumber;

    /**
     * 联系地址
     */
    private String address;

    /* ======= 以上是表字段，下面是数据关系 ======= */

    /**
     * 租户选购的子系统
     */
    private transient String[] appCodes;
}
